### 列表的切片
### 功能：快速读取列表中的元素


# Python中符合序列的有序序列都支持切片（slice），例如列表，字符串，元组。
#
#      格式：【start:end:step】
#
#      start:起始索引，从0开始，-1表示结束
#
#      end：结束索引
#
#      step：步长，end-start，步长为正时，从左向右取值。步长为负时，反向取值
#
#     注意切片的结果不包含结束索引，即不包含最后的一位，-1代表列表的最后一个位置索引


# l = [x for x in range(1, 11)]
# # 切片的写法 list[start:end:step]
# # 输出所有偶数
# print(l[1::2])  # 从下标为1的元素0开始，步长为2
# # 输出所有奇数
# print(l[0::2])  # 0可以省略，所以等价于： print(l[::2])
#
# # 取出3 4 5这三个数
#
# print(l[2:5])  # 区间是这样的[3,5)


# 切片复制

# 因为列表是引用。而这里的切片复制是浅复制，必须是一层引用，
# 里面不能包含其他列表，否则会修改要复制列表的内容
l = [1, 2, 3,[4,5,6]]
print(l)
copy_l = l[:]
print(copy_l)
copy_l[0] = 999
print(copy_l)


